class Solution {
    public void rotate(int[] nums, int k) {

        int  len = nums.length;


//        // while (k > 0) {
//        //     k--;
//        //     int value = nums[len - 1];//保存数组的最后一个数
//        //     for (int i = len - 2; i >= 0; i--) {
//        //         nums[i + 1] = nums[i];
//        //     }
//        //     nums[0] = value;
//        // }
//
//        int[] arr = new int[len];
//
//        for (int i = 0; i <= k - 1; i++) {
//            arr[i] = nums[len - k + i];
//        }
//
//        for (int i = k; i < len; i++) {
//            arr[i] = nums[i - k];
//        }
//
//        nums = arr;

        if (len > k) {
            int[] arr = new int[len];

            for (int i = 0; i <= k - 1; i++) {
                arr[i] = nums[len - k + i];
            }

            for (int i = k; i < len; i++) {
                arr[i] = nums[i - k];
            }

            for (int i = 0; i < len; i++) {
                nums[i] = arr[i];
            }
        } else if (len < k) {

            int count = k % len;
            while (count > 0) {
                count--;
                int value = nums[len - 1];//保存数组的最后一个数
                for (int i = len - 2; i >= 0; i--) {
                    nums[i + 1] = nums[i];
                }
                nums[0] = value;
            }

        }
    }
}

public class Test1 {
    public static void main(String[] args) {
        Solution s = new Solution();
        int[] nums = new int[]{1,2,3,4,5,6,7};
        s.rotate(nums, 3);

        for (int i = 0; i < nums.length; i++) {
            System.out.print(nums[i]);
        }
    }
}